package com.qdlc.p2p.biz.service;

import com.qdlc.p2p.dal.common.model.jpa.PageDataList;
import com.qdlc.p2p.dal.dto.AdditionalUserMovieTicket;
import com.qdlc.p2p.dal.dto.User;
import com.qdlc.p2p.dal.model.AdditionalUserMovieTicketModel;

/**
 * @author wuaj
 * @version 1.1.0.0
 * @date 2016年03月17日
 */
public interface AdditionalUserMovieTicketService {

    /**
     * 用户电影票记录
     * @param user
     * @param pageNum
     * @param pageSize
     * @param status
     * @return
     */
    PageDataList<AdditionalUserMovieTicketModel> getUserMovieTicketList(User user, int pageNum, int pageSize, int status,String platform);

    /**
     * 电影票记录
     * @param model
     * @return
     */
    PageDataList<AdditionalUserMovieTicketModel> list(AdditionalUserMovieTicketModel model);

    /**
     * 保存用户电影券
     * @param additionalUserMovieTicket 电影券
     * @return
     */
    AdditionalUserMovieTicket save(AdditionalUserMovieTicket additionalUserMovieTicket);

    /**
     * 通过订单号更新
     * @param orderNo 订单号
     * @param partnerId 合作id
     * @param exchangeCode 电影票兑换码
     * @return
     */
    int updateByOrderNo(String orderNo, String partnerId, String exchangeCode, long userId);

    /**
     * 用户兑换完成回调更新用户电影票的状态、使用时间
     * @param exchangeCode 兑换码
     * @param status 状态
     * @return
     */
    int updateByExchangeCode(long userId, String exchangeCode, int status);

    /**
     * 状态为4需要重新触发请求php接口
     */
    void requestPHPInterface();

}
